package net.pulseproject.router.debuggerapp;

import net.pulseproject.commons.gui.CommonsGuiGuiceModule;
import net.pulseproject.commons.midi.RouterMidiGuiceModule;
import net.pulseproject.commons.misc.CommonsMiscGuiceModule;
import net.pulseproject.router.config.RouterConfigGuiceModule;
import net.pulseproject.router.debuggerapp.view.MainWindow;
import net.pulseproject.router.debuggerapp.view.MainWindowImpl;

import com.google.inject.AbstractModule;
import com.google.inject.Scopes;

public class RouterDebuggerAppGuiceModule extends AbstractModule {

	@Override
	protected final void configure() {
		install(new CommonsMiscGuiceModule());
		install(new CommonsGuiGuiceModule());
		install(new RouterMidiGuiceModule());
		install(new RouterConfigGuiceModule());
		
		bind(MainWindow.class).to(MainWindowImpl.class).in(Scopes.SINGLETON);
//		bind(ModuleInstantiator.class).to(ModuleInstantiatorImpl.class).in(Scopes.SINGLETON);
		
	}

}
